package pl.edu.agh.gronoMining.resultAnalyzer.resultNormalizer.parser;

import java.io.File;
import java.io.IOException;
import java.text.ParseException;
import java.util.Set;

import org.jgrapht.Graph;

import pl.edu.agh.gronoMining.resultAnalyzer.resultNormalizer.graph.Edge;
import pl.edu.agh.gronoMining.resultAnalyzer.resultNormalizer.graph.Vertex;


/**
 * parser of graph text file representation
 */

public interface GraphParser {

	/**
	 * parses file and returns Graph
	 * @param graphFile file to parse
	 * @return Graph make using this file
	 * @throws ParseException
	 */
	public Graph[] parse(File graphFile) throws ParseException;
	
	/**
	 * serialize graph to file
	 * @param graphsSet set of graphs to serialize
	 * @param outputFile file where graphs will be serialized
	 */
	public void serializeToFile(Set<Graph<Vertex, Edge>> graphsSet, File outputFile) throws IOException;
	
}
